Quiere tener una sola función para obtener el valor de texto dinámico de la aplicación.
La función getStartDate() regresa como [object object] cuando se llama desde una función diferente getDate() mientras que cy.log(mon...) de getStartDate() da la fecha correcta en el formato de cadena. También cy.wrap(mom...) envuelve una fecha correcta en formato de cadena
getStartDate(){ return cy.get('[data-placeholder="Select time range (from)"]').invoke('val').then($da=>{ cy.log(moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss')+"------------------") // returns "03.01.2022 11:10:00" return (cy.wrap(moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss').valueOf())) ;Text // return "03.01.2022 11:10:00" }) }Función de llamada:
getDate(){ cy.log(this.getStartDate().toString()+"------------") // returns [object object] } Por favor, hágame saber cómo obtener el valor de getStartDate() llamando a través de la aplicación
cy.wrap se usa para crear un objeto chainer de ciprés. Además, está devolviendo cy.get(...) de la función, que es un objeto. Deberías intentar usar Promises:
async getStartDate() { const $da = await cy.get('[data-placeholder="Select time range (from)"]').invoke('val'); cy.log(moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss')+"------------------") // returns "03.01.2022 11:10:00" return moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss'); }Y utilízalo así:
getStartDate().then((startDate) => cy.log(startDate));corrija el código de la siguiente manera: D
cy.log(this.getStartDate().toString(),"------------")¡Espero que encuentres una respuesta!